/**
 * Multiworker 2000
 * @brief Classe de campos do modelo
 * @author André Luiz de Oliveira Vasconcelos
 * @file campomodelo.h
 * @date 2011
 */

#ifndef CAMPOMODELO_H
#define CAMPOMODELO_H

#include <QString>
#include <QVector>

class CampoModelo
{

public:
    CampoModelo();
    ~CampoModelo();

    // Setters e Getters
    void setNomeCampo(QString valor){ this->nomeCampo = valor; };
    QString getNomeCampo(){ return this->nomeCampo; };
    void setValorOriginal(QString valor){ this->valorOriginal = valor; };
    QString getValorOriginal(){ return this->valorOriginal; };
    void setValor(QString valor){ this->valor = valor; };
    QString getValor(){ return this->valor; };
    void setTipo(QString valor){ this->tipo = valor; };
    QString getTipo(){ return this->tipo; };
    void setTamanho(int valor){ this->tamanho = valor; };
    int getTamanho(){ return this->tamanho; };
    void setDecimal(int valor){ this->decimal = valor; };
    int getDecimal(){ return this->decimal; };
    void setObrigatorio(bool valor){ this->valor = valor; }
    bool getObrigatorio(){ return this->obrigatorio; } 
    void adicionaValorValido(QString valor){ this->valoresValidos.append(valor); };
    bool valorValido(QString valor);
    bool valorValido();

private:
    QString nomeCampo;
    QString nomeHumano;
    QString valorOriginal;
    QString valor;
    QString tipo;
    int tamanho;
    int decimal;
    bool obrigatorio;
    QVector<QString> valoresValidos;
    
};

#endif // CAMPOMODELO_H 
